package main

import (
	"fmt"
)

//演示map的基本使用
func main() {
	//声明map并不会分配内存，必须用make，这个和slice切片一样
	var map1 map[int32]string
	//map1[0] = "1" //不make直接使用会异常 panic: assignment to entry in nil map
	map1 = make(map[int32]string, 2)
	map1[0] = "no1"
	map1[0] = "no2" //key可以相同，会覆盖之前的
	map1[1] = "no3"
	fmt.Println(map1) //map是无序的，每次输出都不同

	//可以直接make一个map
	map2 := make(map[int]int)
	map2[0] = 0
	map2[1] = 1
	fmt.Println(map2)

	//可以直接赋值
	map3 := map[string]bool{
		"no1": true,
		"no2": false, //注意这个逗号必须有
	}
	fmt.Println(map3)

}
